home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / vbkontrol.exe / EXPVBX22.ZIP / EXPVBX22.TXT < prev    next >
Text File  |  1995-06-24  |  4KB  |  113 lines

  1. -----------------------------------------------------------------
  2. Expr.vbx v2.2
  3. Copyright, July 1995, Minxiu Chen, All Rights Reserved
  4. ----------------------------------------------------------------
  5. ===========
  6. The program
  7. ===========
  8.  
  9. Exprs.vbx and Expr.dll  parse the text inputed by the user to
  10. see if it is a numerical expression.  If so,  it do infix arithmetic 
  11. expression parsing. 
  12.  
  13. The source code is written in C. It use so called "recursive descent" 
  14. technique and  analysis the text to be set at the property "Strinput".
  15. The  results  will be given at properties "NumValue", "IsNumExpr" and
  16.  "StrLength."
  17.  
  18. It supports operators:
  19. " +,  -,  *,  /, %,  ^ " 
  20.  
  21. and functions: 
  22. " sin,  cos, tan, ctg or ctn, asin,  acos, atg, ln, lg or log10,  
  23. exp, abs, sqrt, sqrt3, fix, rand or rnd."
  24.  
  25. and constants:
  26. "pi or Pi, e"
  27.  
  28. All these functions are self-explanatory, 
  29.     sqrt3(8) --> 2
  30.     rand(10) --> a random value between 0 and 10
  31.     11%4 --> 3
  32.     15.2%4.2 --> 2.6
  33.     230 could be written as 2.3E2
  34.     3^3 -->27
  35.     (123 + sin(pi/2)) * 4^5* ln(exp(56))%11->3
  36.     a=2, b=1.5*a, a^b --> 8
  37.  
  38. 'Expvbx version 2'  support variable name substitution. variable must start
  39. with alphebet.  all varibles that have not been assigned any values are
  40. considered as zeros. It supports following string manipulation functions:
  41.     lcase(string)        convert a string to low case
  42.     ucase(string)        convert a string to upper case
  43.     cat(string1,string2)    returns concatenated string
  44.     rtrim(string, num)    returns rightmost num characters of a string
  45.     ltrim(string, num)    returns leftmost num characters of a string
  46.     len(string)        find length of a string
  47.     string(string,num)    returns a string  whose num characters are 
  48.                 all the first character of a string
  49.  
  50.     
  51. You may try run expr.exe, type an expression to the box then press either
  52. 'call Expr.vbx' button or 'test dll file' button:
  53.  
  54.     expression         -->     value
  55.     a=123         -->     123
  56.     b=a*0.4        -->     49.2
  57.     c= 2*a +sin(b)     -->    245.125
  58.     ln(a)+ln(c)     -->     10.31395
  59.     a=123,b=4,c=5,d=56,e=11,a+sin(pi/2) * b^c * ln(exp(d))%e-->3
  60.     abcde=23    -->    23
  61.     cat(lcase(ABc),rtrim(dee,2))--> 23
  62.  
  63. A demo VB code  are also included. If the user don't have
  64. vbrun300.dll in his/her window/system directory, he/she should download
  65. vbrun300.dll from SimTel, CICA or other sites and put in same directory
  66. as expr.exe or search path to run the expr.exe.
  67.  
  68. Functions provided by expr.dll:
  69.  
  70. float _export   far pascal expres( char FAR *S)
  71. int  far pascal chkexpr(char FAR *S)
  72.  
  73. The declare statement for VB:
  74. Declare Function chkexpr Lib "expr.dll" (ByVal S As String) As Integer
  75. Declare Function expres Lib "expr.dll" (ByVal S As String) As Double
  76.  
  77. unregistered version only support 6 variable name substitutions.
  78. After using 6 variables if you want to use other variables, you have to 
  79. unload the dll file or restart window.
  80.   
  81.  
  82. ============
  83. Registration                                                                                               Registration
  84. ============
  85.  
  86. The program EXPR.VBX is distributed as a shareware program.  You have 
  87. the right to test this program for 10 days. You are allowed to copy this 
  88. unregistered package  and give it to any other person, as long as it 
  89. is not modified in any way. 
  90.  
  91. After the trial period, If you find it useful and want to keep using it,
  92. You are obliged to register your copy. Unregistered version only support 
  93. 2 variable name substitutions, registered version do not have such limit.
  94. When updated, the registered user may get all newer versions free. 
  95.  
  96. This software may NOT be used for commercial purpose without registration. 
  97.  
  98.  
  99. ==========
  100. Disclaimer
  101. ==========
  102.  
  103. The program has been tested to keep it as bug-free.  But I still 
  104. declare that it is supplied "As is"  without warranty of any kind. 
  105. You use it at your own risk.   I accept no responsibility for
  106. any damage or loss, physical, financial, or otherwise, that may
  107. result from the use.
  108.  
  109. If these terms are not acceptable to you, then you have NO license 
  110. to use or test EXPR.VBX. You should IMMEDIATELY DELETE it from
  111. your disks.
  112.  
  113.